Customization of First Class Tuple-Spaces in a Higher-Order Language
نویسنده
چکیده
A distributed data structure is an object which permits many producers to augment or modify its contents, and many consumers simultaneously to access its component elements. Synchronization is implicit in data structure access: a process that requests an element which has not yet been generated blocks until a producer creates it. In this paper, we describe a parallel programming language (called T S) whose fundamental communication device is a signiicant generalization of the tuple-space distributed data structure found in the Linda coordination languagee6]. Our sequential base language is a dialect of Schemee19]. Beyond the fact that T S is derived by incorporating a tuple-space coordination language into a higher-order computation language (i.e., Scheme), T S diiers from other tuple-space languages in two important ways: Tuple-spaces are rst-class objects. They may be dynamically created , bound to names, passed as arguments to (or returned as results from) functions, and built into other data structures or tuples. The behavior of tuple-spaces may be customized. A tuple-space is manipulated via a policy closure that speciies its operational characteristics. The representation of policy closures take signiicant advantage of Scheme's support for higher-order functions; there is no fundamental extension to Scheme needed in order to support them. We argue that rst-class customizable tuple-spaces provide an expressive and exible medium for building parallel programs in higher-order languages .
منابع مشابه
Optimizing Analysis for First-Class Tuple-Spaces
This paper considers the design and optimization of a simple asynchronous parallel language that uses rst-class tuple-spaces as its main communication and process creation device. Our proposed kernel language diiers from other tuple-space languages insofar tuple-spaces are treated as true rst-class objects. Moreover, we develop a formal framework for constructing an optimizing pre-processor for...
متن کاملA Java Package for Class and Mixin Mobility in a Distributed Setting
Mixins, i.e., classes parameterized over the superclass, can be the right mechanism for dynamically assembling class hierarchies with mobile code downloaded from different sources. In this paper we present the Java package momi that implements the concepts of the language MOMI, which is a calculus for exchanging mobile object-oriented code structured through mixin inheritance. This package can ...
متن کاملSafer Tuple
The simplicity and elegance of the Linda programming model is based on its single, global, typeless tuple space. However, these virtues come at a cost. First, the tuple space can be an impediment to scalable high performance. Second, the \black box" nature of the tuple space makes it an inherently dangerous data structure, prone to many types of programming errors. Blossom is a C++ version of L...
متن کاملA Proposal to Merge Object Orientation, Logic Programming, and Multiple Tuple Spaces
We propose to merge in a new programming paradigm object orientation, logic programming, and multiple tuple spaces. The object oriented model supplies a well deened frame for the design of languages to be used for modular development of large systems. Logic programming allows to describe a computation by declarative deenition of its properties. Finally, multiple tuple spaces provide a powerful ...
متن کاملProbabilistic and Prioritized Data Retrieval in the Linda Coordination Model
Linda tuple spaces are flat and unstructured, in the sense that they do not allow for expressing preferences of tuples; for example, we could be interested in indicating tuples that should be returned more frequently w.r.t. other ones, or even tuples with a low relevance that should be taken under consideration only if there is no tuple with a higher importance. In this paper we investigate, in...
متن کامل